export interface PageForm {
  projectName: string
  labelId: number | string
  columns: 'updateTime' | 'createTime'
  order: 'desc' | 'asc'
}
export type Key = string | number

/**
 * IPage«ProjectVO»
 */
export interface RecordListItem {
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 数据集名称
   */
  dataFileName?: null | string
  /**
   * 项目数据集地址
   */
  dataUrl: string
  /**
   * 压缩包文件预览地址
   */
  dataUrls?: string[] | null
  /**
   * 项目描述
   */
  description?: null | string
  /**
   * 项目id
   */
  id: string
  introducePDFUrl?: null | string
  /**
   * 项目介绍文件地址
   */
  introduceUrl: string
  /**
   * 是否搜藏
   */
  isFavorite?: boolean | null
  /**
   * 分类信息
   */
  projectLabelInfoVOS: ProjectLabelInfoVO[]
  /**
   * 项目名称
   */
  projectName: string
  sourceInfo?: FileTree
  /**
   * 源代码地址
   */
  sourceUrl: string
  /**
   * 更新时间
   */
  updateTime?: null | string
}

/**
 * ProjectLabelInfoVO
 */
export interface ProjectLabelInfoVO {
  /**
   * 唯一标识
   */
  id: number
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 项目id
   */
  projectId?: number | null
}

/**
 * FileTree
 *
 * com.glasssix.spa.model.api.vo.FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}
/**
 * DictionaryVO
 */
export interface DictionaryType {
  /**
   * 主动创建时间
   */
  createTime?: string
  /**
   * 主键id
   */
  id?: number
  /**
   * 存储值，例如：1、2、3...
   */
  k?: number
  /**
   * 父id，例如：二级联动
   */
  pid?: number
  /**
   * 备注
   */
  remark?: string
  /**
   * 排序值
   */
  sort?: number
  /**
   * 字典类型，例如：个性标签、服务类型...
   */
  type?: string
  /**
   * 被动更新时间
   */
  updateTime?: string
  /**
   * 显示值，例如：创建中、完成...
   */
  v?: string
}
export interface Form {
  projectLabelIds: string[]
  onlineExperience?: string
  description?: string
  projectName: string
  introduceUrl: string
  dataUrl: string
  sourceUrl: string
  updateTime?: string
}
export interface TaskStatus {
  labelName: string
  labelId: number | string
}
export interface OnlineStatus {
  label: string
  value: number | string
}

export interface CaseDetailsType {
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 数据集名称
   */
  dataFileName?: null | string
  /**
   * 项目数据集地址
   */
  dataUrl?: null | string
  /**
   * 压缩包文件预览地址
   */
  dataUrls?: string[] | null
  /**
   * 项目描述
   */
  description?: null | string
  /**
   * 项目id
   */
  id?: number | null
  /**
   * 项目介绍文件pdf地址
   */
  introducePDFUrl?: string
  /**
   * 项目介绍文件地址
   */
  introduceUrl?: null | string
  /**
   * 分类信息
   */
  projectLabelInfoVOS?: ProjectLabelInfoVO[] | null
  /**
   * 项目名称
   */
  projectName?: null | string
  sourceInfo?: FileTree
  /**
   * 源代码地址
   */
  sourceUrl?: null | string
  /**
   * 更新时间
   */
  updateTime?: null | string
}

/**
 * ProjectLabelInfoVO
 */
export interface ProjectLabelInfoVO {
  /**
   * 唯一标识
   */
  id: number
  /**
   * 分类id
   */
  labelId?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 项目id
   */
  projectId?: number | null
}

/**
 * FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}
